{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import gym, sys\n",
    "\n",
    "%matplotlib inline\n",
    "sys.path.append('../..')\n",
    "sys.path.append('..')\n",
    "\n",
    "import algorithms, visualize, utils"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Cliff Walking"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "env = gym.make('CliffWalking-v0')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "Q, sum_rewards = algorithms.double_qlearning(env, alpha=.5, epsilon=0.1, num_episodes=500)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x10f61ae90>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "visualize.rewards(sum_rewards)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Run Environment Interactively"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Current State: 47\n",
      "o  o  o  o  o  o  o  o  o  o  o  o\n",
      "o  o  o  o  o  o  o  o  o  o  o  o\n",
      "o  o  o  o  o  o  o  o  o  o  o  o\n",
      "o  C  C  C  C  C  C  C  C  C  C  x\n",
      "\n",
      "Finished\n"
     ]
    }
   ],
   "source": [
    "utils.run_environment_greedy(env, Q)"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 2",
   "language": "python",
   "name": "python2"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
